package com.hmkj.core.service.account;

import com.hmkj.core.api.lianlian.PayDataBean;
import com.hmkj.core.model.account.CashModel;
import com.hmkj.core.po.account.AccountCash;
import com.hmkj.core.po.user.User;
import com.hmkj.core.service.base.GenericService;

import java.math.BigDecimal;

/**
 * 提现记录业务相关Service接口<br>
 *
 * @author eproo
 * @ClassName: AccountCashService
 * @date 2018-07-05 09:50:54
 */
public interface AccountCashService extends GenericService<Integer, AccountCash> {

    /**
     * 手动提现
     *
     * @param accountCash
     * @throws Exception
     */
    void addCashMoney(AccountCash accountCash) throws Exception;

    /**
     * 提现创建出金订单
     *
     * @param bankCardId 银行卡id
     * @param money      出金金额
     */
    void createCash(String bankCardId, BigDecimal money, User user);

    /**
     * 提现审核
     *
     * @param model 提现类型
     * @throws Exception ex
     */
    void doAuditLianLian(CashModel model) throws Exception;

    /**
     * 人工提现审核不通过
     *
     * @param model 提现类型
     * @throws Exception ex
     */
    void doAuditFail(CashModel model) throws Exception;

    /**
     * 连连代支付处理订单
     *
     * @param payDataBean
     * @throws Exception
     */
    void handleOrderByLianLian(PayDataBean payDataBean) throws Exception;

}
